#!/usr/bin/python
Import ('env')

sources = env.Glob('intern/*.c')

incs = '. #/intern/guardedalloc #/intern/memutil ../editors/include'
incs += ' ../blenlib ../blenfont ../makesdna ../windowmanager'
incs += ' ../render/extern/include #/intern/decimation/extern ../makesrna'
incs += ' ../imbuf ../ikplugin ../avi #/intern/elbeem/extern ../nodes ../modifiers'
incs += ' #/intern/iksolver/extern ../blenloader'
incs += ' #/extern/bullet2/src'
incs += ' #/intern/opennl/extern #/intern/bsp/extern'
incs += ' ../gpu #/extern/glew/include'
incs += ' #/intern/smoke/extern'
incs += ' #/intern/mikktspace'
incs += ' #/intern/audaspace/intern'

incs += ' ' + env['BF_OPENGL_INC']
incs += ' ' + env['BF_ZLIB_INC']

defs = [ 'GLEW_STATIC' ]

if env['WITH_BF_PYTHON']:
    incs += ' ../python'
    incs += ' ' + env['BF_PYTHON_INC']
    defs.append('WITH_PYTHON')
    if env['BF_DEBUG']:
        defs.append('DEBUG')

if env['WITH_BF_QUICKTIME']:
    incs += ' ../quicktime'

if env['WITH_BF_SDL']:
    incs += ' ' + env['BF_SDL_INC']
else:
    defs.append('DISABLE_SDL')

if env['WITH_BF_OPENEXR']:
    defs.append('WITH_OPENEXR')

if env['WITH_BF_TIFF']:
    defs.append('WITH_TIFF')

if env['WITH_BF_OPENJPEG']:
    defs.append('WITH_OPENJPEG')

if env['WITH_BF_DDS']:
    defs.append('WITH_DDS')

if env['WITH_BF_CINEON']:
    defs.append('WITH_CINEON')

if env['WITH_BF_HDR']:
    defs.append('WITH_HDR')

if env['WITH_BF_JACK']:
    defs.append('WITH_JACK')

if env['WITH_BF_FFMPEG']:
    defs.append('WITH_FFMPEG')
    incs += ' ' + env['BF_FFMPEG_INC']

if env['WITH_BF_QUICKTIME']:
    defs.append('WITH_QUICKTIME')
    incs += ' ' + env['BF_QUICKTIME_INC']

if env['WITH_BF_BULLET']:
    defs.append('USE_BULLET')

if env['OURPLATFORM'] == 'darwin':
    if env['WITH_BF_OPENMP']:
       defs.append('PARALLEL=1')

if env['BF_NO_ELBEEM']:
    defs.append('DISABLE_ELBEEM')

if env['WITH_BF_LCMS']:
    defs.append('WITH_LCMS')
    incs += ' ' + env['BF_LCMS_INC']

if env['WITH_BF_LZO']:
    incs += ' #/extern/lzo/minilzo'
    defs.append('WITH_LZO')

if env['WITH_BF_LZMA']:
    incs += ' #/extern/lzma'
    defs.append('WITH_LZMA')

if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
    incs += ' ' + env['BF_PTHREADS_INC']

if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
    env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [166,25]) #, cc_compileflags = env['CCFLAGS'].append('/WX') )
else:
    env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player', 'player2'], priority = [166,25,0] )
